{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "5d904dee",
   "metadata": {},
   "source": [
    "# Example 13: Phase transition"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6465ec94",
   "metadata": {},
   "source": [
    "### In this example, we will use KAN to learn phase transitions in data. Phase transition is an important concept in science. We consider a toy example $f(x_1,x_2,x_3)$ is 1 if $g(x_1,x_2,x_3)>0$, and is 0 if $g(x_1,x_2,x_3)<0$. $g(x_1,x_2,x_3)={\\rm sin}(\\pi x_1)+{\\rm cos}(\\pi x_2)+{\\rm tan}(\\frac{\\pi}{2}x_3)$."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "94056ef6",
   "metadata": {},
   "source": [
    "### Intialize model and create dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "0a59179d",
   "metadata": {},
   "outputs": [],
   "source": [
    "from kan import KAN, create_dataset\n",
    "import torch\n",
    "\n",
    "\n",
    "model = KAN(width=[3,1,1], grid=3, k=3)\n",
    "\n",
    "# create dataset\n",
    "f = lambda x: (torch.sin(torch.pi*x[:,[0]]) + torch.cos(torch.pi*x[:,[1]]) + torch.tan(torch.pi/2*x[:,[2]]) > 0).float()\n",
    "dataset = create_dataset(f, n_var=3)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "3837440b",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor(0.4870, dtype=torch.float32)"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "torch.mean(dataset['train_label'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "fe38f7c5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 500x400 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model(dataset['train_input'])\n",
    "model.plot(beta=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "8627b850",
   "metadata": {},
   "outputs": [],
   "source": [
    "# set the last activation to be sigmoid\n",
    "model.fix_symbolic(1,0,0,'sigmoid',fit_params_bool=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "3957140b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 500x400 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model(dataset['train_input'])\n",
    "model.plot(beta=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "be0b0daf",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "train loss: 5.71e-02 | test loss: 8.77e-02 | reg: 8.55e+00 : 100%|██| 50/50 [00:07<00:00,  6.54it/s]\n"
     ]
    }
   ],
   "source": [
    "model.train(dataset, opt=\"LBFGS\", steps=50, lamb=0.001, lamb_entropy=10.);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "2f9b37a8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZcAAAFICAYAAACcDrP3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA4XElEQVR4nO3deXQV5cE/8O/c7BvZCZCEkIQkLCFhEYyQhFUisljBoqKircux9ad9fVvfYu1Re97W2s2CVl61LgVaBWRRkSUgOwQIiyQQyMYeNskGCVnvvc/vj3gfM1kguZlk5ibfzzkcnJEkD8zM/c6zK0IIASIiIg2Z9C4AERF1PwwXIiLSHMOFiIg0x3AhIiLNMVyIiEhzDBciItIcw4WIiDTHcCEiIs0xXIiISHMMFyIi0hzDhYiINMdwISIizTFciIhIcwwXIiLSHMOFiIg056x3AYgcgRACJSUlqKyshLe3NwIDA6Eoit7FIjIs1lyIbqG8vByLFi1CTEwMgoODERkZieDgYMTExGDRokUoLy/Xu4hEhqRwJ0qilqWnp2POnDmoqqoC0FB7sbHVWjw9PbF69WqkpaXpUkYio2K4ELUgPT0d06dPhxACVqu11T9nMpmgKArWr1/PgCFqhOFC1ER5eTnCwsJQXV19y2CxMZlM8PDwQFFREfz8/Dq/gEQOgH0uRE0sWbIEVVVVbQoWALBaraiqqsLSpUs7uWREjoM1F6JGhBCIiYnB6dOn0Z5HQ1EUREVFoaCggKPIiMBwIVIpLi5GcHBwi//PBUBfAJcB1N/i6wMDAzupdESOg81iRI1UVla2+v/6Avjd97+3pqKiQusiETkkhgtRI97e3h36eh8fH41KQuTYGC5EjQQGBiI6Orrd/SaKoiA6OhoBAQGdVDIix8JwIWpEURQ8//zzdn3tCy+8wM58ou8xXIiaePzxx+Hp6QmTqW2Ph8lkgqenJ+bPn9/JJSNyHAwXoib8/PywevVqKIpy24CxzdBfs2YNJ1ASNcJwIWpBWloa1q9fDw8PDyiK0qy5y3bOw8MDGzZswNSpU3UqKZExMVyIWpGWloaioiIsXLgQUVFRqv8XFRWFhQsX4uLFiwwWohZwEiVRGwghUJ6VBZff/x71v/0t/BIT2XlPdAvcLIyoDRRFgb+/P+DtDfj7AwwWoltisxgREWmO4UJERJpjuBARkeYYLkREpDmGCxERaY7hQkREmmO4EBGR5hguRESkOYYLERFpjuFCRESaY7gQEZHmGC5ERKQ5hgsREWmOS+4TtVVlJXD0KDB8eMPqyETUKoYLUVtZLEB1NeDhATg56V0aIkNjuBARkebY50JERJrjTpRkGFarFZcLC2Gurta7KA4vcMAAePv66l0M6sEYLmQYZrMZxf/5D8z19TC5u+tdHIckhIDz1avA00/De8QIvYtDPRjDhYxDCFgUBUEPP4zQQYP0Lk37WCxAXZ2+ZVAUmJ2dcfKttwB2pZLOGC5kOE5OTnB2cdG7GG0jBJCTA3z9NVBSAlit+pUlIAB4/nlAUfQrA9H3GC5EHXH1KvDRR0BZmd4laQgVPcONqBGOFiOylxDA8ePGCBYig2HNhagjiop++G9nZyA2tuF3Pfj66veziZrgnUhkLyHUtRY/P+BnPwO8vHQrEpvFyCgYLkT2sliAmzd/OPb0BFxdAZOOrc0MFzII9rkQ2ctqBWprfzh2c+OaY0TfY7gQ2avp3BY3Nw4DJvoew4XIXlYrYDb/cMxwIZIYLkT2slgaftk4ysRPoi7AcCGyl9Wq7kB3cWHNheh7DBcie7HmQtQqhguRvczm5jUXIgLAcCGyn9WqXn2Ys+OJJIYLkb0sFnXNheFCJDFciOzVdDY8J1ASSQwXIns1HS3m5MTRYkTfY7gQ2avxSDGANReiRhguRPayWNQd+gwXIonhQmSvpqPFGC5EEsOFyF5Nm8U4WoxIYrgQ2avpaDF25hNJDBciewnBZjGiVjBciOzVuOaiKPruQElkMHwaiOzVtM+F4UIk8WkgslfTPheGC5HEp4HIXlz+hahVDBcie7FZjKhVfBqI7NV4EiU79IlU+DQQ2Yt9LkSt4tNAZC82ixG1ik8Dkb0aT6BksxiRCp8GIns1rrkwXIhU+DQQ2YtrixG1iuFCZC926BO1ik8Dkb24thhRq/g0ENmraZ8Lm8WIJIYLkb3YLEbUKj4NRPZisxhRq/g0ENmLo8WIWsVwIbJX05oLw4VIYrgQ2UMIhgvRLTBciOzFPheiVvFpILIXay5ErWK4ENmL81yIWsVwIbIXay5ErWK4ENmLS+4TtYpPA5G9WHMhahXDhche7HMhahXDhcgenOdCdEsMFyJ7NQ4Xk4nhQtQIw4XIXqy5ELWK4UJkr8Z9Lqy5EKkwXIjs1XgoMsOFSIXhQmQPIThajOgWGC5E9mg6Wow1FyIVhguRvdihT9QqhguRvVhzIWoVw4XIHk37XLiuGJEKnwgiezTtc3FyYs2FqBGGC5E9mtZcGC5EKgwXInu0VHMhIonhQmQPDkUmuiWGC5E92CxGdEsMFyJ7WK3qcHF21q8sRAbEcCGyh9WqbhZjuBCpMFyI7NE0XFxc2CxG1AjDhcgeFgubxYhugeFCZA+LRV1zcXXVryxEBsRwIbKH2ayuuTBciFQYLkT2qK9Xbxbm7q5fWYgMiOFCZI+aGnXNheFCpMJwIbJHVZW6z8XLi6PFiBrhEBcypmvXgHPnOv59GjddafnnT5784c+aTECvXu37OUTdHMOFjCk3F/j4Y71L0brGIeTqCvj761cWIgNiuJAxCdH+Wode+vUDAgP1LgWRoTBcyJgcZU96Pz/gRz8C3Nz0LgmRoTBcyJji4oBnn23f13RmGLX0vV1cgLCwhlqLIwQhURdiuJChmIRASWEhLLW1xp+YKARw4ULDL4OwWCyw3rypdzGIGC5kHIqiQISGAtnZKM3O1rs4DsvZwwPOXl56F4N6OEUIR+k1pe5OCAFL44mJZDeTyQSTidPYSD8MFyIi0hxfbYiISHMMFyIi0hzDhYiINMdwISIizTFciNrKYgEqK9VL7RNRixguRG1VVAT8v//X8DsR3RLDhYiINMdwISIizTFciIhIcwwXIiLSHMOFiIg0x3AhIiLNMVyIiEhzDBciItIcw4WIiDTHcCEiIs0xXIiISHMMFyIi0hzDhYiINMdwISIizTFciNpACIHS0lJUVlaitLQUQgi9i0RkaAwXolsoLy/HokWLEBMTgxEjR2LV6tUYMXIkYmJisGjRIpSXl+tdRCJDUgRfwYhalJ6ejjlz5qCqqgoAEC4EfgfgNQAXFAUA4OnpidWrVyMtLU2/ghIZEGsuRC1IT0/H9OnTUV1dDSFEs2Yw27nq6mpMnz4d6enpOpWUyJgYLkRNlJeXY86cORBCwGq13vLPWq1WCCEwZ84cNpERNcJwIWpiyZIlqKqqum2w2FitVlRVVWHp0qWdXDIix8FwIWpECIF33nnHrq99++23OYqM6HsMF6JGSkpKcOrUqXaHhBACp06dQmlpaSeVjMixMFyIAFRVVSErKwvLly/v0Pc5ceIEay9E4FBk6mGsVisuXryI/Px85OXlIS8vD/n5+bhw4QKAhhrIiRMnWvxaFwB9AVwGUH+Ln+Hj44OEhATVr2HDhsHHx0frvw6RYTFcqNuqrKxEfn6+/JWXl4eCggI5b8Xf3x9xcXGIjY1FbGws4uLiEBkZifj4eJw+fbrdNZCIiAgsXrwYx44dQ3Z2NrKyspCbmwuLxQIAiIqKkmGTmJiIhIQEREVFwWRiAwJ1PwwXcnhWqxXnz5+XAWILk4sXLwIAnJycEBUVhbi4OFWYBAUFQfl+MmRjixYtwosvvtiucFEUBQsXLsQLL7ygOl9bW4uTJ0/KsLH9fu3aNQCAl5cX4uPjZdjYajl+fn72/4MQGQDDhRzKjRs3VCFiq43U1tYCAIKCgmR4DBo0CLGxsYiMjISLi0ubf0Z5eTnCwsJQXV3dpuHIJpMJHh4eKCoqanMoXL16VYaN7deJEydQX9/Q4BYREaFqVktMTMTAgQPh5OTU5r8HkZ4YLmRIFosF586dU4VIfn4+rly5AgBwcXHBwIEDZZDYmrUCAgI0+fm2Gfq3m0hpMpmgKAo2bNiAqVOnduhn1tXVIS8vT4aNLXwuX74MAHB3d0d8fLyqWS0hIUGzvzORlhgupLuysjJVv0h+fj4KCwtRV1cHAOjdu3ezJq0BAwbA2dm5U8vVdG2xxo+K0mhtsTVr1nQ4WG7l2rVrOHbsmKqmk5OTI2troaGhqrBJSEhAXFxcp//7EN0Kw4W6jNlsxpkzZ1T9Inl5ebL/wc3NTdZGbGESExOja/9DeXk5li5dirfffhunTp2S56Ojo/HCCy/g8ccfh6+vb5eXy2w2Iz8/X9WslpWVhaKiIgCAq6srhg4d2mwAQXBwcJeXlXomhgt1ipKSkmbDfU+dOgWz2QwA6Nu3r6yJ2H6PiIgw7MgpIQT27NmDuXPnYuXKlUhOTm5xMIDeSktLVaPVsrOzcfz4cVRXVwMA+vTp06xZbdCgQXB1ddW55NTdMFyoQ+rq6nD69GlVTSQvL0/OVHd3d1f1idj+2xHnfBw7dgzTpk3Dxo0bMWzYML2L02YWiwWnTp1qNoDg7NmzABr6rwYPHtxsAEFISIghA5QcA8OF2kQIgWvXrqmatPLz83H69Gk5jyMsLKzZvJGwsDDD1kbay1HDpTXXr1+XtZzGv27evAkACA4ObtasNnjwYLi7u+tccnIEDBdqpra2FqdOnVI1aeXn58sl5T09PVX9IrGxsRg4cCC8vb31LXgn627h0hKr1YozZ840G7Fm629ycnJCXFxcswEEoaGhrOWQCoeT9GBCCFy5cqVZk9a5c+dgtVqhKAr69++P2NhYPPLIIzJM+vbt221qI6RmMpkQHR2N6Oho3H///fJ8ZWUljh8/rmpaW79+PW7cuAEACAgIaNasNmTIEHh6eur1VyGdsebSQ1RXV6OwsLDZSK2KigoAgLe3t5x0aPsVExMDDw8PnUtuHD2h5tIeQgicO3eu2Yi1goICCCFgMpkQExPTbABB//79WcvpARgu3YwQApcuXWo2+fD8+fPygY+IiFDNYI+NjUWfPn34wN8Gw6VtqqqqkJOTo2pWy87ORllZGQDA19e32cKe8fHx3b5Ztadhs5gDu3nzJgoKCpqtqWXrkPX19UVcXBxSUlJkk1Z0dDTc3Nx0Ljl1Z56enhg9ejRGjx4tzwkhcPHiRVXYbN++He+99x4sFgsURUF0dHSzAQQDBgxgE6yDYrg4AKvViqKiomZratkmzJlMJrkw44QJE2Rne3BwMGsjZAiKoiAsLAxhYWGYPn26PF9TU4MTJ06omtXeeecdlJSUAGhorh02bFizhT179eql11+F2ojhYjAVFRUtLhNvmwTn7++PQYMGYfLkyXKkVlRUFCfBkUNyd3fHyJEjMXLkSHnONtCkcbPa3r178eGHH8pJuJGRkc0GEERFRXFhTwNhuOjEtkx80+G+ly5dAgA4OzsjOjoasbGxmDp1qqyNBAYG6lxyos6lKAr69u2Lvn37Ii0tTZ6vq6uT2xfYfn3wwQe4evUqgIbmuKYLew4bNgz+/v56/VV6NIZLF7h+/boMj9zcXLkwo23hweDgYMTGxuKee+6RITJgwIB2LRNP1N25uroiMTERiYmJqvNXr15VLXlz6NAhLF26VC58Gh4e3mzEWkxMDBf27GT819WQxWLBmTNnVM1aubm5+O677wA0PBy2hRmnT58um7X4ZkVkv5CQEISEhGDKlCnyXH19PfLz81UDCJYsWSI3kHN3d1ct7Gn7FRQUpNdfo9vhUGQ7lZWVNWvSKiwslJs9hYSEtLhMPNuEHReHIju+4uJi1ZI3WVlZyMnJQU1NDQCgX79+zUasxcXFsRXBDgyXNqisrMSOHTtUYVJcXAygYZn4mJiYZsvE67EMO3Uuhkv3ZDabUVhY2Gxezvnz5wE0LOw5ZMgQGTapqamqYdbUMoZLG9j2IXFxcYGrqyvc3Nzk7y4uLhzu20PU1dWhuLgYQUFBHJ1HdBsMlzawbXXLJq2ezWq1wmw2w9nZmRP7iG6D4UJERJrj6xcREWnOMEORLRYLsrKyUFlZqXdRHN6QIUMcckilxWLB4cOHeQ9oYNiwYQgODta7GO1msViwb98+uZQ/2W/UqFEICQnR7ecbplmspqYG8+fPR01NDby8vPQujkOyLYH+xhtvYOLEiXoXp91qamowe/Zs3gMdIITAmTNn8Pe//x1Tp07VuzjtVl1djeTkZFRXVzvkVthGIIRAQUEBlixZglmzZulWDsPUXIQQUBQFv/71r7vtMD8hBGpra2E2m+Hu7q75DGGz2Yxnn30WBnlfaDfbPfDaa68hKSlJ7+I0U19fj7q6OphMJri7uxtylKDZbMb8+fMd+h4wmUz4+9//jgkTJuhdHIdQUVGBzMxMjBw5Ev7+/qivr8e0adN0vwcMEy42Tk5O3W6Yp8ViwfHjx7FmzRpkZ2ejuroagYGBSElJwaxZs9C3b19NPqgURTHkB157OTk5GWZbAKvVioKCAqxduxb79u1DcXGxXGlh+vTpmDx5Mry9vQ3z726UcnSUs7OzYe4BIxNCYPfu3Zg3bx7Cw8Mxa9YsPP3004a4DwwXLt2JEAI1NTVYsmQJ/vWvf6n6EoqKipCVlYW1a9fiv/7rv3D33XdzrSMDEUKgqqoKH330ET766COUlpaq/n9hYSG2bNmCkSNH4je/+Q1GjhzJ4cnU5SwWC1auXImamhoUFBTg3XffxbRp0/QuFgCOFutUdXV1ePvtt/Hee++12kl98eJFvPrqq1i+fLlcTpz0JYTA9evXsWDBArz11lvNgsXGYrHg4MGDeOqpp/D111/DarV2cUmpp7tw4QK2b98uj4cNG4YRI0boWKIfMFw6idVqxYoVK/DZZ5/J0FAUBf3798fo0aNVi1VWV1dj4cKF+PLLL/kBZQA3b97Eb3/7W3z55ZewWCzyfEhICMaNG4dhw4apmmxKSkrw8ssvY+PGjbq3c1PPIYTAhg0b5MK4ADB79mzDbBfNdphOIITA8ePH8cEHH8hgcXZ2xo9//GM8++yz6NWrF86fP4+//OUv2Lt3r2w+W7hwISIjIzFixAhDtJn2RGazGf/4xz+wbt06GRSurq549NFH8cwzzyAkJAT19fXIzMzEG2+8gRMnTgAAbty4gVdffRV9+/bl9aMuUVNTgxUrVsj71M/PT9fRYU2x5tIJqqur8c4776C8vBxAQ41l1qxZ+O///m8EBgbCxcUFUVFRePPNN1VDhsvKyvCnP/0JpaWlfAPWgRACW7duxccffyxrkG5ubvj1r3+NV155BaGhoXB2doaHhwdSU1Px0Ucf4c4775Rf/9133+HVV19FcXExrx91KiEEDh8+jEOHDslzKSkpiImJ0bFUagwXjdk+oA4ePCjPxcXF4YUXXoC7u7s8pygKfH198corr2DIkCHy/IkTJ7Bs2TI2j3UxIQSuXr2KP//5z3JLaZPJhKeeego/+clPmo1gVBQFoaGh+Nvf/obBgwfL89nZ2fi///s/VXMakdasViv+/e9/y3vVyckJjz76qKEGBTFcNFZRUYFly5bJ5jA3Nzf8/Oc/R2BgYLOmEkVR0Lt3byxYsAC9evUC0PAht3LlSpw8eZJvv13IarXio48+QkFBgTyXnJyM5557rtW9PGx9aP/7v/8LPz8/AA3X77PPPsOhQ4d4/ajTnD9/Hl999ZU8jomJweTJkw3VHMtw0ZAQQu77YjNu3DiMGzeu1YuuKAoSExMxb948+Wdu3LiBf/7zn3KbVupcQgjk5eVh+fLlMhACAwOxYMGC23aOKoqC0aNH4+mnn5ZDkSsrK7Fo0SJUVVV1etmp57G9gF65ckWee+ihhxAQEKBjqZpjuGiouroan3/+uWwScXd3x6OPPnrbSaFOTk54+OGHMXDgQHluz549yMzM5NtvF7BYLPjwww9VfWTz58/H0KFD2/QmaDKZMH/+fNXe7gcOHMCWLVt4/UhzJSUlWLJkiby3goKC8NBDDxmq1gIwXDQjhMCRI0eQk5Mjz40ZMwbDhw9v00UPCAjAT3/6U9lmWltbi6VLl6K2trbTykwN1y0nJwebNm2S5yIjI/HII4+0a1Kkr68vnn/+eTlEub6+Hv/85z+5ACNpSgiBtWvXqlpHZs2apXoxNQqGi0YsFgu++OIL2ZRlG3rc1r23FUXB5MmTkZCQIM8dPnwYBw8e5NtvJ7J1jFZUVABoqIU88cQT6N27d7u+j6IoSElJQWpqqjyXk5ODb775htePNHP9+nW89957csCPt7e3qknWSIxXIgd1/vx57N+/Xx7HxsZi9OjR7aqqenh4qEZ81NXV4bPPPkN9fb3m5aUGZ8+exebNm+VxZGQkZs6caVcTg5ubG5566il4eHgAaHjhWLZsGfteSBNCCKxZswZZWVnyXFpaGkaOHGm4JjGA4aIJ2/Djxm32M2bMaPey8YqiIDk5GfHx8fLcwYMHkZOTw7ffTiCEwJdffimXd1EUBXPnzkVgYKBd309RFIwaNQrjxo2T57Kzs5GRkcHrRx1WUlKCRYsWyT5dLy8vPP/8821uHelqDBcNVFVVYcuWLfI4ICAAEydOtOttwsPDA3PnzoWTkxOAhkECa9as4byXTlBWVqYazhkcHGx3rcXG1dUVjz32mBzEUV9fz9ondZgQAkuWLMHx48fluXvuuQd33XWXIWstAMOlw2wdwoWFhfJcUlIS+vXrZ9f3UxQFqampGDBggDy3c+dOFBUVdbSo1IgQAnv27MHZs2flualTp9p93WwURUFSUhKGDRsmz+3fvx/5+fkd+r7UcwkhcPr0aSxatEi+ZPbq1Qu/+tWvDFtrARguHSaEwDfffKPqyL/nnns61MHm6+uLGTNmyDeS0tJSpKens2lFQ2azGV988YVq2Pjs2bM16Rj18PDAj3/8Y/m9Kioq8NVXX/H6kV3MZjPefPNNXLhwQZ57+OGHcccddxi21gIwXDrs+vXr2LNnjzwOCwvr8MKFiqIgLS1NNSlq48aNckQTddzZs2eRmZkpjxMSEhAfH6/Zpm2TJ09G37595bmNGze2unQ/UWuEENi4cSM+/fRTeS48PBy/+tWvZNO5UTFcOkAIgezsbFy6dEmeGzduHHx9fTv8vUNDQ5GSkiKPz5w5g8OHD/PtVwNCCGzbtg3Xr18H8MMAjMZrv3VU7969VXvYX7hwgR371C5CCBQVFeE3v/mNHHHo5OSEl156CdHR0YautQAMlw6xfUjZ1hFzdXXF5MmTNfneJpMJM2bMkB3DZrMZX3/9NRdE1EBtba1q0mRHBmC0RlEUzJw5UwaWxWLBunXreP2ozWpqavDKK6+oJmZPmjQJTzzxhOGDBWC4dEhZWRkOHDggjyMiIjB48GDNmlYSEhIQGxsrz2VmZuLixYsd/t49XX5+vtyHBQBGjx6NsLAwTX+GoiiIj49XDSs/cOAAB2ZQm1gsFixevBjLly+X50JCQvDmm28aZjOw22G42Mm2IVjjxePGjRun6YX38PDAPffcI4/Ly8uxc+dONq10gBAC27dvl80MJpMJ06ZN65T2a3d3d9X1Kysr4/Wj27It8fK73/1ODmF3dXXF66+/3ublpIyA4WInIQR27typahJLTU3VvGllwoQJquXcN2/ejJqaGs1+Rk9TU1ODrVu3yuOgoCAkJSV1ygNr69i39cEJIbBp0yaudk2tEkJgy5YteO655+QAHkVR8Pjjj+OJJ54w5DIvrXGckhrMjRs3VE1i4eHhGDRokOY/JywsDKNGjZLHubm5yM/P59uvnQoLC1VzTsaMGYOQkJBO+3n9+/fH8OHD5XF2drZqbg2RjdVqxYYNG/D444/ju+++k+cnT56MN954Qy6K6igYLnbKzc1VjRJLSkqCj4+P5j/HyckJaWlpstmmpqYG27Zt0/zn9ARCCOzatQs3b94E0NAkNmXKlE59G3RxccE999yj2qtn165dfDkgSQiB+vp6LFmyBPPnz1c1tY8aNQrvv/9+i5sNGh3DxQ5CCOzevVu2hzo7O6uGDWtJUZRmb9e7du1CZWVlp/y87qy2thbbt2+XxwEBARgzZkynPrS29eJsTZsAVJNuqWcTQqC4uBgvvfQSfv7zn6vmQiUmJmLZsmWIjIx0uGABGC52qaqqUq2A3KdPHwwZMqTTboCAgAAkJSXJ47Nnz3IxSzsUFRXh5MmT8njEiBHo06dPp//c0NBQjBgxQh4fP34c58+f7/SfS8YlhEBdXR02bdqEadOm4e2331b1pSYlJWHFihUYNGiQQwYLwHCxy5kzZ3Du3Dl5PGrUKNWbqdYURcGUKVPkUvz19fXYtm0bw6UdhBDYv3+/qpN04sSJ8t+0Mzk7O2PKlCnyQ6KiogJ79+7l9euBbE1gmZmZeOyxxzBnzhzV5GgnJyfMnj0bq1atQmxsrMMGC8BwaTfbh5TtLcNkMiE5ObnTm1YSExNVczEyMjK4y2E7WCwWbN++XT7EPj4+nTZKrClFUTBu3Dj06tULwA9bNNhGGlL3J4RARUUFNm3ahAcffBBTpkzBypUrUV1dLf+Mr68vXn/9dSxZsgT9+vVz6GABGC7tVl9fj4yMDHns7++PxMTETr8RfHx8MHbsWHlcVFSEY8eO8e23ja5du4ajR4/K48GDByM8PLzLfn5YWJhqpeSmywZR92OrpeTm5uJPf/oTUlNTcd9992Ht2rWqPlMnJyekpqZi3bp1ePnll+Ht7e3wwQIwXNrt8uXLqv2rhw4diuDg4E7/ubY5L7Ylts1ms+pNnFonhMDRo0dRUlIiz6WkpHTp0E4XFxdMmDBBHpeVlSEzM5PXr5sRQsBqteLSpUv4z3/+g9mzZ+Ouu+7Cyy+/jKNHj6r29TGZTBg8eDAWL16MdevWITk52fCLUbZH5zc4dyNCCBw5ckTVHDVu3LguabdXFAVDhw5FeHg4Tp8+DaBhOZEbN250an9Pd2Cb8Gpb18vNza3TmzKbso0a8/Lyws2bN+W6dLNnz+5WHyg9kRBCjvrKyMjAmjVrsHXrVly5cqXFTf5cXFwwbNgwPP3003jggQcccphxWzBc2sFqtapWtvXy8urSPRV69eqFu+66S4bLxYsXkZOTg7Fjx3bLm1MrlZWVquX1IyIiEBMT0+XliIqKQmxsLL799lsAwJEjR1BSUoLevXt3eVmoY2w1lGvXrmH//v348ssvsX37dhQVFbW6OGlgYCAmTZqE+fPnIzU1FT4+Pt36uWW4tEN5eTmysrLkcWRkJPr379+lZRg/fjxWrlyJ+vp6mM1m7Nq1S9UXQ80VFhaqhv6OGTNGl8X/3N3dkZKSIsPl6tWryMrKUo0kI+Oy9aFcuHABu3fvxoYNG5CRkYErV660GigeHh4YPnw45s6di5kzZyIiIgJOTk494nozXNpICIHc3FzVsgx33nmnpnuA3I6taSw0NFQuIbJv3z5UVFTIkUikJoRARkYGamtrATR0nqakpOj2cKekpOC9995DXV0dLBYLduzYgcmTJ/eIDxtHY2vuunHjBk6cOIFt27bhm2++QXZ2NsrLy1vtL3N1dUVsbCxmzZqFH/3oR4iPj4e7u3uPu8YMl3bIyMiQw0ddXFxw1113dXkZfHx8MGbMGBkuRUVFyM3NxejRo7u8LI6gvr4ee/fulccBAQFdMrqvJYqiYNCgQejfvz8KCwsBAPv370dlZSVfDgzAFhbV1dU4d+4c9u3bh23btuHAgQO4cOGCfEFpiaurKwYOHIi0tDTcd999GDFiRLdv9rodQ4eL7WIb4QJVV1fj4MGD8jgkJARxcXFdXjZFUTB+/HisWbMGZrMZdXV12L17N8OlFZcvX1bt3RIfH69rH0evXr2QlJQkw+XcuXPIy8vj9dOJEAJmsxmXL1/GkSNHsG3bNuzZsweFhYWorKy85Wg+T09PDBo0CGlpaZg2bRoSExPl+oJG+MzSmyHDRQiBqqoqHD16FJWVlZg6daruF+vcuXM4c+aMPB4+fLgm2xm3l20TqpCQELlx2P79+1FdXS2HKVMDIQS+/fZblJeXy3PJycldMrqvNbYh5Z999hksFgtqa2uxZ8+eLh0Y0pPZwuL69es4duwYtm/fjh07duDYsWMoLS1tcXSXjclkQmBgIEaMGIG0tDRMmjQJsbGx8PDw4LVrgeHCxWKxYPny5Vi1ahVOnTqF8PBw3HnnnboOtxVC4ODBg3I2rW3GtV43lJ+fH0aOHCnD5cyZMzh9+jTi4uJ0KY9R2VZBtn1geHh4dNms/NbYVlsICgrC1atXAQB79uzBz372sy7tv+tphBCora3F4cOHsWLFCqSnp+Ps2bO3XUDUy8sLUVFRGDt2LO6++26MGTMGffr0gbOzMwPlNgwXLiaTCYWFhXKi4oULF3Do0CFdOz3NZjP27dsnj319fXVrtwca/o1SU1Oxfv16WK1W1NTUICMjg+HSxI0bN3D48GF5PGDAAERFRelYogZBQUFITEzE5s2bATRs33DhwgVdhkd3d7YFIrds2YKFCxciIyNDteRKU66urujXrx9Gjx6NSZMmYdy4cYiKioKnpycANne1h+HCRVEUpKWl4YsvvkBtbS3MZjM2btyICRMm6NacUVxcrGq3j4uLQ9++fXUpC9DwbzR8+HAEBASguLgYALB3717MmzdPtzIZUV5enmrP+jvvvBNeXl46lqiBk5MTxo8fjy1btsg1pzIzMzFw4EB+eGlICIGTJ0/i1Vdfxddff91ih7ytqSshIQETJkzA+PHjMWTIEPj5+cFkMvF6dIDhwgVo6HSNjY3FsWPHAACZmZm4dOlSl88pARpu0OzsbJSVlclzSUlJurbbA0BwcDASEhLkxmH5+fmqD9KezjYE2dbsYRuCbASKosjN5W7cuAEhBHbs2IEHH3xQ9/uquzCbzVi1ahVeeumlZs+FyWRCREQEpkyZgnvvvRd33HEHQkJC2NSlMUOuLebh4YGpU6fK4/LycuzYsUOXdZiEENi7d69st3d3d8edd96p+01o+7A0mUzw9fVFfHw8V9ltpK6uDnv27JHHQUFBSEhI0P262fTv3x+xsbHy+OjRo7IWSh1TW1uLv/zlL3jyySdVweLs7Izk5GQsW7YMBw4cwHvvvYf77rsPYWFhcHFxMcy90V0YMlxse23YOvGFEEhPT79lW2lnqaiokDOqASA8PNwQ7faKoiA1NRV/+MMf8Nlnn2Hx4sXsc2nk0qVLqgVGExISEBQUpGOJ1Gzrm9lcu3YNWVlZXMiyg+rq6vDmm2/i9ddfR1VVlTwfFRWFDz/8EBs3bsTDDz+M4OBgNnt1MkOGC9CwRHnjsf95eXk4efJklz58QgicOnVKjsoCGjYGM0K7PQD07t0bM2bMQP/+/TkMuREhBA4dOqRaYDQlJcVwC0SmpKTA1dUVQMMoyZ07dzJcOsBiseDdd9/FH//4R9kcqigKpk+fjvT0dMyfP7/bLGfvCAwbLk5OTpg2bZr8QKipqUF6enqXP3z79u1TtdsbaR0vRVH4oLTAarVi9+7dqgVGjdCU2ZiiKIiLi1P1Ix44cEDulEntI4TA119/jddee0123JtMJjzxxBNYtmwZoqOjDXX9ewLDhouiKBg9erRq98Vdu3ahtLS0y8pQW1urGoIcFBSE+Ph43qQGd/36ddUQ5KioKAwYMEC/ArXCthumzblz55Cfn69jiRyTEAIFBQV48cUXVdtYP/LII1i0aBH8/Pz4zOrAsOECNEwWbLzB0qVLl3DgwIEuq71cvHgRp06dksfx8fEICAjokp9N9hFC4MSJE7hy5Yo8l5SUBA8PDx1L1TLbbH1b7by2tlZV46K2qa6uxssvv6xaQWPSpEl466232AymI0OHCwCkpaXJDwar1Yr169d3yago26x823akts2ejNZuT83t2bNHNmU6OzsjNTVV5xK1zDZbv/FOprt3777lAomkJoTA8uXLsW7dOnkuIiIC77zzTrfdhMtRGDpcFEVBbGws4uPj5blvv/1WbpbVmSwWC/bs2SPfIr29vTFq1CjerAZXU1OjGoLcp08fDB061LDXLSgoCCNGjJDHeXl5csVrujUhBIqKivDHP/5Rbh/s5uaGP/zhDxg0aJBhr3lPYehwARpulnvvvVfeKBUVFXJmc2e6du0ajh8/Lo/j4uIQGhraqT+TOu7cuXOqpswRI0YYuinTyckJEydOVN3f+/btY9NYGwgh8O6778oVpgFg9uzZeOCBBxgsBmD4cLE1RzVeJn3z5s2qYaZaE0Lg6NGjqsEDY8eOlcNGyZiEENi3b5+qKXP8+PEwmYx7m9tm6zdeYXv79u2cEHsbts37PvnkE3kuJCQEr7zyCp9TgzDuU9dISEiIaumO8+fPIzMzs9Pe7qxWK3bu3Kmalc996o3PbDZjx44d8tjX1xdjxowx/HXr16+fquk3Ozsbly5d0rFExme1WrF48WK5M6yiKHj66acxePBgw1/vnsIhwsU2EcrNzQ1Aw4fIunXrOu3trqysDEeOHJHHUVFRhpiVT7d25coVZGdny+OhQ4eiX79+OpaobVxdXVWjIktLS7t0VKQjKigowMqVK+VxREQEnnnmGUPXUnsah7gStr3jBw8eLM8dPHgQp0+f1vwBFELg2LFj8o0IaGgSM+JQVvqBbVZ+46bM8ePHO0QTiaIoSElJgbe3N4CGv8vWrVthsVh0LpkxWa1WfPLJJ7h27RqAhn+/J598UjUnjvTnEOECNCxmOXPmTFXH58aNGzX/OUIIVZu3q6urag0oMiar1YqtW7fKpkxPT08kJyc7TBNJVFSUam24Q4cOqV5w6AeXL1/GihUr5HFoaCgee+wxh7nWPYXDhIutczYkJESeS09PR0lJiaY/p7y8HJmZmfI4IiICcXFxvHENrri4GAcPHpTHAwcORHR0tI4lah83NzdMnDhRHhcXF7NprAVCCHz11Vc4f/68PDd37lyEh4frWCpqicOEC9CwUOPkyZPl8cWLFzVd7E8IgaysLNXs7rFjx8rmCjImIQSOHDkitw0GGprEHKkp07YSuG3HQ6vVis2bN7NprImqqir8+9//ls+8r68v5s+fz5c/A3KocFEUBTNnzpSrElutVnzxxReaLcUvhMC2bdtUTWLjx4/X5HtT5xFCYMuWLfKDuGktwFHExMSomsYyMzNVgdnTCSFw+PBh1RYYEyZMwJAhQxguBuRw4RIXF4c77rhDnsvJycGRI0c0qb2UlJRg//798njAgAEc2ugAiouLkZGRIY+jo6Md8rq5u7tjypQp8ri4uBh79+5l09j3hBBYsWKFfJl0dnbGo48+yt07DcqhwgVouKEeeOABeUPV1dXh888/7/CwZNtaYo3fFFNTU9kkZnC269a4KXPixImG2XOnPRRFweTJk+U9Z7VasWHDBrm0SU9XXFysGsQTHR2tWt2AjMXhwkVRFIwZM0Y1LHnfvn04ceJEh97wzGYzNm3apJo4OWnSJN64BmexWLB+/XrZJObu7o67775b51LZLzo6WjWh8tChQzh37pyOJTIGIQR2796t6sifMWOGoZf26ekcLlyAhmGmDzzwgJwwVVVVhZUrV3ao8/PChQuqPUAGDx6s2uOcjOnSpUuqpsy4uDiHbBKzcXNzw/Tp02X5r1+/3iVr6Rmd1WrFmjVr5DPu4eGB+++/X+dS0a04ZLgoioJJkyYhMjJSntu2bRvy8vLsegiFEPjmm29w/fp1+f3T0tLkigBkTLY5ScXFxfJc4y0aHJFtj5fAwEB5bv369bh586aOpdLflStXsGvXLnk8ZMgQJCYmOuxLRE/gkOECNGwk1nj104qKCnz66ad21V4qKiqwadMmeezv74/x48fzxjW42tpafPXVV/KFolevXpg6darDX7ewsDDVdtq5ubmaDVpxREIIZGRk4PLly/Lc9OnTHbJfrSdx2HBRFAXTpk1TbV+7detW5OTktOshFEIgMzNTtUdMcnKyQ6xJ1ZMJIZCdna1aS2zMmDGq2qyjcnJywv333w8XFxcADYNWVq1a1WPnvAgh8PXXX6uaxO69916dS0W347DhAgCBgYF48MEHZd9LZWUlPv74Y7kLYVvU19djzZo1crSZm5sbZs2axQXwDM5qtWLVqlWoqakB0PwD2ZHZBq3ExMTIczt27OiSTfKMqLS0VLUBXGxsLOe2OACH/gS1rZY8cOBAeW737t1t3ofcNiO/8XIv8fHxbMs1OCEEzp49i82bN8tz0dHRSElJ6TbXzcfHB7Nnz5Z/n7KyMqxatUqOZuwpbHsrXbhwQZ6bMmUKpwg4AIcOF6Ch7+UnP/mJat7L4sWLUVJSctuAMZvN+M9//qN6+33ggQfg7u7e6eUm+9km09nWlVMUBffffz/8/Pz0LZiGFEXBjBkz0KdPH3lu7dq1KCoq0rFU+ti8ebOc6+Pi4tIt+tV6AocPF9vEs6SkJHmuoKAAH3/88S3bqG19LU2r2+zINzYhBM6cOYPVq1fLcyEhIbjvvvu63XXr27cvfvSjH8njK1eu4NNPP+1RtZfq6mrs3LlTHoeGhmLEiBE6lojayuHDBWjo4Hvuuefkm6sQAitXrsTWrVtbrb1UVFTg/fffV9Va5s2bBx8fn64qNt2GEAJms1l1Dc1mMz744APVcvRz5sxBaGioHkXsVIqi4OGHH1Zt8b18+XLk5ub2mJFjZ86cQW5urjxOSkrixEkH0S3CxbaZ2Pz582VHfE1NDf785z8jKyur2YNoNpuxbNkyHD16VJ4bPnw47r777m739uuobDWU//mf/8GZM2cghJALi65du1b+ubCwMMybN69bDsBQFAURERF48MEH5X1ZUlKCv/3tb6rFWq1WK+rq6rpd4AghsG/fPlRUVAD4oZWiO17r7qjbXCWTyYR58+apNva6evUqFixYgIMHD8Jqtco34S+++AL/+te/VBtLPfvssxw3byDHjh3DM888g88//xy/+tWvcPHiRRw6dAivv/66/GB1cnLCk08+2a338jCZTJg/f75qm+2tW7fi/fffR11dHSwWC9atW4cFCxbID+HuwjZJ1haaPj4+uOuuu/gC6CC61XKiXl5eWLBgAS5duoTCwkIAQFFREX7xi19g5syZGDZsGA4ePIgNGzbI5jCTyYSHHnoIo0eP5k1rEJWVlfjrX/+KvLw8AA1bWs+dOxeVlZUoKyuTf27cuHGqt/ruKiQkBC+++CJ++ctfora2FhaLBf/4xz9QXFyMXr164ZNPPkF1dTXc3d3x8ssv611czVy/fh2HDh2SxzExMap5bWRs3SpcFEVBeHg4fv/73+Oll16Swxdts/dbkpqaiqeeeorLdhuIt7c3nnvuObz44otySZ7GQ1EBIDIyEq+99lqPGJJqmzB85MgRWeOuq6vD0qVLVX9u+fLlGDRokE6l1F5+fr7quiclJcnN1Mj4uk2zmI2t/+Wtt95CfHx8q2+1JpMJEydOxOuvv85OfAOaPHkyfv/737fYeRsXF4e3334bMTEx3b7WYuPi4oJf/vKXuO+++1rsc1AUBWPHjkVqaqoOpescGRkZsgnUZDJx4z4H0y1f1xVFwaBBg/Duu+/i008/xVdffYVr167BYrHAyckJffr0wdy5czF37lx4eXn1mA8oR2IymTBr1ixERkZiyZIlOH78ONzd3ZGamopHH30UISEhPeq6KYoCHx8fvPHGG4iOjsayZctw7do1CCHg6+uLOXPm4Be/+EW36TcUQuD06dPw8PBAdXU1/P39MXLkyB51zR1dtwwXoOFhDAgIwHPPPYeHH34Yp0+fRnl5Ofz9/REdHQ1/f3/eqAZnMpmQkJCAv/71r6irq4OiKHB1dQWAHnntFEWBt7c3nn/+ecydOxe5ubmor69HTEwM+vfvD5PJ1G02FlMUBW+88QZ++tOfykUru+Nw8+7MUOFiW46l8TBLLbm4uKCyshJZWVmd8v31ZrFYZB+Fo7Ltk15VVaV3URxGQUEBCgoKADTcA+Xl5foWqIOsViv27dsntxkIDw9HeHi4arkfap3ZbEZpaanexTBOuJhMJkRHR2PXrl2qfRuofby8vNCrVy+9i2EXRVEQGxuL7du3Y/v27XoXx2H5+PjA19dX72LYxWQyYejQodiwYQM2bNigd3EcVq9eveDv769rGRRhkJlXtjko1HFOTk4OOdGspRn5ZB9nZ2feAz2c3veAYcKFiIi6D8d7tSEiIsNjuBARkeYYLkREpDmGCxERaY7h0kZWqxU1NTU9aqMmUrOt6cV7gOj2GC5tlJubizvuuEO1cRH1LDk5OYiKikJOTo7eRSGdHDlyBIqi4MiRI3oXxfAYLkREpDmGCxERaY7hQkREmmO4EBGR5hguRESkOYYLERFpjuFCRESaY7gQEZHmGC5ERKQ5hgsREWmO4UJERJpjuBARkeYYLkREpDmGCxERaY7h0gZCCJSVlaG+vh5lZWUQQuhdJOpitnvAYrHwHuihbPcAAN4DbcBwuYXy8nIsWrQIMTExSE5ORn5+PpKTkxETE4NFixahvLxc7yJSJ2t8D4wfPx5XrlzB+PHjeQ/0II3vgSlTpgAApkyZwnvgNhTB+G1Reno65syZg6qqKgBQvaUoigIA8PT0xOrVq5GWlqZLGalz8R4g3gP2Y7i0ID09HdOnT4cQ4pZb2ppMJiiKgvXr1/PG6mZ4DxDvgY5huDRRXl6OsLAwVFdXt2mvdJPJBA8PDxQVFcHPz6/zC0idjvcA8R7oOPa5NLFkyRJUVVW16YYCAKvViqqqKixdurSTS0ZdhfcA8R7oONZcGhFCICYmBqdPn27XSBBFURAVFYWCggLZDkuOifcA8R7QBsOlkeLiYgQHB3fo6wMDAzUsEXU13gPEe0AbbBZrpLKyskNfX1FRoVFJSC+8B4j3gDYYLo14e3t36Ot9fHw0KgnphfcA8R7QBsOlkcDAQERHR7e7vVRRFERHRyMgIKCTSkZdhfcA8R7QBsOlEUVR8Pzzz9v1tS+88AI78boB3gPEe0Ab7NBvguPbifcA8R7oONZcmvDz88Pq1auhKApMplv/89hm5q5Zs4Y3VDfCe4B4D3Qcw6UFaWlpWL9+PTw8PKAoSrNqru2ch4cHNmzYgKlTp+pUUuosvAeI90DHMFxakZaWhqKiIixcuBBRUVGq/xcVFYWFCxfi4sWLvKG6Md4DxHvAfuxzaQMhBEpLS1FRUQEfHx8EBASw066H4T1AvAfah+FCRESaY7MYERFpjuFCRESaY7gQEZHmGC5ERKQ5hgsREWmO4UJERJpjuBARkeYYLkREpDmGCxERaY7hQkREmmO4EBGR5hguRESkOYYLERFpjuFCRESa+/+5sFgn2typqwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 500x400 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model.plot(beta=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d6d85bda",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
